<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">

  /* Déclaration des variables  */
  var geocoder;
  var map;
  var markers = new Array();
  var i = 0;

  /* Initialisation de la carte  */
  function initialize() {
   /* Instanciation du geocoder  */
   geocoder = new google.maps.Geocoder();
   var paris = new google.maps.LatLng(48.8566667, 2.3509871);
   var myOptions = {
    zoom: 4,
    center: paris,
    mapTypeId: google.maps.MapTypeId.HYBRID
   }
   /* Chargement de la carte  */
   map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
  }

  /* Fonction de géocodage déclenchée en cliquant surle bouton "Geocoder"  */
  function codeAddress() {
   /* Récupération de la valeur de l'adresse saisie */
   var address = document.getElementById("address").value;
   /* Appel au service de geocodage avec l'adresse en paramètre */
   geocoder.geocode( { 'address': address}, function(results, status) {
    /* Si l'adresse a pu être géolocalisée */
    if (status == google.maps.GeocoderStatus.OK) {
     /* Récupération de sa latitude et de sa longitude */
     document.getElementById('lat').value = results[0].geometry.location.lat();
     document.getElementById('lng').value = results[0].geometry.location.lng();
     map.setCenter(results[0].geometry.location);
     /* Affichage du marker */
     var marker = new google.maps.Marker({
      map: map,
      position: results[0].geometry.location
     });
     /* Permet de supprimer le marker précédemment affiché */
     markers.push(marker);
     if(markers.length > 1)
      markers[(i-1)].setMap(null);
      i++;
     } else {
      alert("Le geocodage n\'a pu etre effectue pour la raison suivante: " + status);
     }
    });
  }

</script>


</body>
</html>